package managedBeans;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import org.primefaces.event.RowEditEvent;

import entidades.Producto;
import prodejb.ProdEJBRemote;


@ManagedBean(name = "MBTienda")
@SessionScoped
public class MBProducto implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    
    @EJB (name = "PEJB", mappedName = "PEJB")
    ProdEJBRemote pejb;
    
    private String id;    
    private String nombre;
    private String descripcion;
    private int stock;
    private int precio;
    
    private Producto producto;
    private List<Producto> listProd;
    
    @PostConstruct
    public void init(){
        listProd = pejb.getList();
        producto = new Producto();
    }
    
    
    public MBProducto(){
        
    }
    
    
    public void DeleteP(int id){
        pejb.DelProd(id);
        init();       
        
    }
    
    public void editarProducto(RowEditEvent event){
        pejb.ModProd((Producto) event.getObject());
        init();
    }
    
    public void AddProd(){
        pejb.AddProd(producto);
        init();
    }


    //---------------- getter and setters

    public String getId() {
        return id;
    }


    public void setId(String id) {
        this.id = id;
    }


    public String getNombre() {
        return nombre;
    }


    public void setNombre(String nombre) {
        this.nombre = nombre;
    }


    public String getDescripcion() {
        return descripcion;
    }


    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }


    public int getStock() {
        return stock;
    }


    public void setStock(int stock) {
        this.stock = stock;
    }


    public int getPrecio() {
        return precio;
    }


    public void setPrecio(int precio) {
        this.precio = precio;
    }


    public Producto getProducto() {
        return producto;
    }


    public void setProducto(Producto producto) {
        this.producto = producto;
    }


    public List<Producto> getListProd() {
        return listProd;
    }


    public void setListProd(List<Producto> listProd) {
        this.listProd = listProd;
    }


    public static long getSerialversionuid() {
        return serialVersionUID;
    }


    public ProdEJBRemote getPejb() {
        return pejb;
    }


    public void setPejb(ProdEJBRemote pejb) {
        this.pejb = pejb;
    }
    
    
    
    

}
